A number of systems and programs are offered on the market for the design, the engineering and the manufacturing of objects. CAD is an acronym for Computer-Aided Design, e.g. it relates to software solutions for designing an object. CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM is an acronym for Computer-Aided Manufacturing, e.g. it relates to software solutions for defining manufacturing processes and operations. In such computer-aided design systems, the graphical user interface plays an important role as regards the efficiency of the technique. These techniques may be embedded within Product Lifecycle Management (PLM) systems. PLM refers to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise.
The PLM solutions provided by Dassault Systemes (under the trademarks CATIA, ENOVIA and DELMIA) provide an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
In the field of computer graphics, the surface of a 3D object is often represented by a collection of triangles (or more generally by a collection of polygons) in a 3D space. These polygons are connecting vertices which hold different properties. Among these different properties each vertex has at least a definite position in space (x, y and z). This kind of representation is called a polygonal mesh. It is also called a triangular mesh if the representation only contains triangles. A polygonal mesh can be divided in two types of data: (i) geometry data comprise the whole set of positions and other properties for each vertex, and (ii) connectivity data comprise the indices of the vertices joined by each polygon.
3D objects and surface geometries of 3D objects can be stored on a persistent support in a straightforward implementation, i.e. without compression. This straightforward storage (i.e. without compression) is notably used in CATIA and in other CAD software. With such a storing, the storing is lossless. Indeed, the data defining the model is not modified before storing, and there can therefore not be any loss of data. The storing is also stable. Indeed, the data defining the model is not to be transformed when the model is reopened, because the data is not compressed. However, such a method fails to optimize the storage size of a CAD model.
To this aims, several compression schemes have been developed. Remeshing is one of the techniques that can be used for storing 3D objects while requiring considerably less storage space on the storage. Surface geometry is often modeled with irregular triangle meshes. The process of remeshing refers to approximating such geometry using a mesh with (semi)-regular connectivity.
Xiangfeng Gu, Steven Gortler and Hugues Hoppe (Geometry images. In Proceedings of the 29th annual conference on Computer graphics and interactive techniques, pages 355-361. ACM Press, 2002) introduce another representation called geometry image and a process to convert a 3D model a polygonal mesh into an image called geometry image. A geometry image is a completely regular structure wherein the surface of the 3D object is represented by a grid of vertices. Each vertex is connected to four neighbors except at the grid borders. Hence, a geometry image may be contemplated as a 2D array of vertices, like a raster image which is a two-dimensional array of colored pixels. Going further into the comparison, the geometry image may be seen as a two-dimensional image where each pixel hold in their color channels (red, green, blue) the positions x, y and z of a sampled point on the surface of the tridimensional object. To serialize a geometry image, one only have to store the properties of each vertex (geometry data), because the connectivity is implicit (a vertex is connected to its four neighbors in the geometry image).
Geometry image representation is sometimes referred to in some online virtual worlds as sculpted prims. Geometry image is notably suitable for this kind of application due to the ease to operate with it (modeling) and the efficiency to compress and transfer it over the network. This representation is also recognized by some modelers.
The process to convert a polygonal mesh into a geometry image is called remeshing. It consists in finding a convenient 2D parameterization for the object surface that is represented by a polygonal mesh and then in sampling new points on this surface regularly spaced in the 2D parameterization space. According to the building process, these new points form a regular grid, which is the geometry image representation. Consequences of the remeshing process are:                there is no guarantee that the new sampled points match with those of the initial polygonal mesh, and it almost never happens;        connectivity data of the initial mesh is completely lost, and there is no way to know how initial vertices were connected by looking at the resulting geometry image; and        depending on the 2D parameterization and the distance between two sampled points, some details in the initial polygonal mesh can disappear in the resulting geometry image. Said otherwise, the surface made by joining the regularly sampled points may slightly differ from the original surface due to the building process. This effect can be attenuated if the number of sampling points is increased, but this also increases the size of the geometry image.        
Another limitation is that models which are not watertight, which have high topology genus or which are not manifold, can require additional calculations to find a convenient 2D parameterization at the beginning of the process. This can lead to the need of much more vertices in the geometry image than in the initial polygonal mesh to describe correctly the same surface. In the worse situation, this can even lead to the inability to find a solution.
To sum up, the process of remeshing is irreversible in the sense it is not possible recover the initial polygonal mesh from the geometry image. At the most, the representation obtained from the geometry image is very similar to the initial polygonal mesh, but both representations do not necessarily match in terms of Hausdorff distance. In addition, the geometry image represents a surface close to the initial mesh but always with few errors: loss of small details, distortions. Furthermore, non-watertight initial mesh can lead to a geometry image that needs more data for describing the object than the polygonal mesh.
Within this context, there is still a need for an improved compression method which is lossless and completely reversible, and that is suitable to efficiently reduce the storage size of a CAD file.